E2E-1 Navigation 0/3
E2E-2 List Builder 0/4
E2E-3 Browse Lists 0/4
E2E-4 CC Integration 0/3
E2E-5 CC Sync Report 0/3
E2E-6 ME Score 0/3
E2E-7 SMS 0/4
E2E-8 Browse Export 0/4
Flow E2E-1: Navigation & Permissions
TC-1.1
Verify Contact Lists menu under Contacts with sub-items
Hybrid
—
Automated
Core Flow
Preconditions
User is logged in with Level 2+ permissions. Marketing & Communications module is accessible. Contacts menu is visible in left navigation.
Step 1: Navigate to Contacts
Given
User opens the main navigation menu
Action: Hover over "Contacts" in left sidebar
Expected: "Contacts" menu expands showing sub-options
Step 2: Verify Contact Lists menu item
When
Contacts submenu is expanded
Action: Look for "Contact Lists" option
Expected: "Contact Lists" appears as a menu option with arrow indicating sub-items
Step 3: Verify Contact Lists sub-items
Then
Contact Lists menu item is visible
Action: Hover over or click "Contact Lists"
Expected: Three sub-items appear: "New Contact List", "Browse Contact Lists", "CC Sync Logs"
Step 4: Verify menu structure consistency
And
All three sub-items are displayed
Action: Inspect menu layout and alignment
Expected: All sub-items are aligned, indented, and properly spaced
Bug Risks
Sub-items may not render on first expand. Menu may collapse unexpectedly. Indentation may be inconsistent across browsers.
Notes & References
Part of critical navigation verification for M&C module access.
ABC-3317
TC-1.2
Verify Level 1 user cannot access contact lists; Level 2+ can
Hybrid
—
Automated
Security
Preconditions
Test Level 1 user account exists. Test Level 2 user account exists. Test Level 3+ user account exists. Users are in different permission groups.
Step 1: Log in as Level 1 user
Given
Level 1 user credentials are available
Action: Sign in with Level 1 account
Expected: Login succeeds, user dashboard loads
Step 2: Verify Contact Lists not visible to Level 1
When
Level 1 user navigates to Contacts menu
Action: Open Contacts submenu and check for Contact Lists option
Expected: "Contact Lists" option is not shown; only base Contacts features visible
Warning: Some systems may show option but disable it with gray text instead of hiding it completely.
Step 3: Log in as Level 2 user
Then
Level 1 test is complete
Action: Logout and sign in with Level 2 account
Expected: Level 2 user login succeeds
Step 4: Verify Contact Lists visible and accessible for Level 2+
And
Level 2 user is logged in
Action: Navigate to Contacts and check for Contact Lists option
Expected: "Contact Lists" option is visible and clickable. Sub-items are accessible.
Bug Risks
Permission caching may delay access changes. Logout may not fully clear Level 1 permissions. Session overlap could expose restricted features.
Notes & References
Critical security test. Must verify permission boundaries are enforced correctly.
ABC-3317
TC-1.3
Verify all three sub-pages load correctly
Hybrid
—
Automated
Smoke Test
Preconditions
User is logged in with Level 2+ permissions. All three Contact Lists sub-pages have at least basic data or can render in empty state.
Step 1: Navigate to New Contact List
Given
User is in Contacts menu
Action: Click "Contact Lists" → "New Contact List"
Expected: Page loads within 3 seconds. Page title and form elements are visible.
Step 2: Verify New Contact List page content
When
New Contact List page is loaded
Action: Inspect page for expected UI elements: filters, selection options, buttons
Expected: Page is fully rendered with no JS errors. Core UI elements are present.
Step 3: Navigate to Browse Contact Lists
Then
New Contact List page has been verified
Action: Navigate to "Contact Lists" → "Browse Contact Lists"
Expected: Page loads within 3 seconds. Table or list view is displayed.
Step 4: Navigate to CC Sync Logs and verify all pages load
And
Browse Contact Lists page is verified
Action: Navigate to "Contact Lists" → "CC Sync Logs"
Expected: Page loads within 3 seconds. Sync log entries or empty state is displayed. All three pages load without errors.
Bug Risks
Page load timeout may occur. JS errors may prevent page rendering. Navigation may fail silently. State may carry over between pages.
Notes & References
Smoke test for basic page load health. Included in daily regression suite.
ABC-3317
Flow E2E-2: Contact List Builder
TC-2.1
Select committees with year/classification filters, verify member counts, generate results
Manual
—
Complex Logic
Data Validation
Preconditions
User is on "New Contact List" page. Multiple committees with different year/classification exist in system. At least one committee has members with varied classifications.
Step 1: Expand committees section
Given
New Contact List builder is open
Action: Scroll to "Select Committees" section and expand it
Expected: Committee list appears with checkboxes. Year and classification filter dropdowns are visible.
Step 2: Apply year filter
When
Committees section is expanded
Action: Click year filter dropdown and select "2024"
Expected: Committee list is filtered to show only 2024 committees. Other years hidden.
Step 3: Apply classification filter
Then
Year filter is applied
Action: Click classification filter dropdown and select "Active"
Expected: Committee list further filtered. Only 2024 Active committees shown.
Step 4: Select committees and verify member counts
And
Filters are applied
Action: Select 2-3 committees by checking their boxes. Observe member count display.
Expected: Each selected committee shows member count. Total count updates dynamically.
Warning: Member count may not include or exclude certain role types. Verify expected count separately.
Step 5: Generate results
And
Committees are selected
Action: Click "Generate Results" or proceed to next step
Expected: Results load showing all contacts from selected committees. Contact count matches verified totals.
Bug Risks
Filter application may not update list immediately. Member counts may be inaccurate or cached. Selection state may be lost on filter change. Results may include/exclude wrong data.
Notes & References
Core builder functionality. Test with various filter combinations. Verify counts manually against database.
ABC-3318
TC-2.2
Select events with classification filters plus sponsors checkbox, select contact types with company type/region options
Manual
—
Multi-criteria
Integration
Preconditions
Contact List Builder is open. Events with varied classifications and sponsors exist. Contact types (Individual, Company) have associated metadata (company type, region).
Step 1: Expand Events section and apply classification filter
Given
Contact List Builder is open
Action: Expand "Select Events" section. Click classification filter dropdown.
Expected: Classification filter options appear (e.g., "Annual", "Special", "Webinar").
Step 2: Filter events and select with sponsors checkbox
When
Classification filter is open
Action: Select "Annual" classification. Check "Sponsors Only" checkbox.
Expected: Event list shows only Annual events. Non-sponsor events are filtered out. Sponsor companies are listed.
Step 3: Select contact type with company filters
Then
Events are filtered
Action: Scroll to "Select Contact Types" section. Check "Individual" and "Company" checkboxes.
Expected: Both contact type options are selected. Subsections for Individual and Company appear.
Step 4: Apply company type and region filters
And
Contact types are selected
Action: In Company section, expand "Company Type" filter and select "Vendor". Expand "Region" filter and select "North America".
Expected: Company filter options are applied. Preview or count shows companies matching criteria.
Step 5: Verify multi-filter combination
And
All filters are set
Action: Review displayed contact count and sample results. Verify all criteria are respected.
Expected: Results include only: Individuals from Annual events + Vendors from North America that are event sponsors. No mismatches.
Bug Risks
Filters may conflict without proper UX indication. Company type/region may not filter correctly. Sponsor checkbox may not work with other filters. Results may not reflect all selected criteria.
Notes & References
Complex filtering scenario. Test edge cases where filters may conflict. Verify AND/OR logic is correct.
ABC-3318
TC-2.3
Verify results show Individual Name, Email, Company. Verify duplicate removal across data sources.
Hybrid
—
Automated
Data Quality
Preconditions
Contact List Builder has generated results. Test data includes contacts appearing in multiple sources (e.g., multiple committees, events). At least 5 results are available.
Step 1: Verify results table columns
Given
Contact List results are displayed
Action: Inspect results table header row
Expected: Table contains columns: "Individual Name", "Email", "Company". Columns are visible and properly labeled.
Step 2: Verify data population in each column
When
Results table is visible
Action: Inspect 5+ rows of data. Check each column for data population.
Expected: "Individual Name" has name values. "Email" has valid email addresses. "Company" shows company names or identifiers. No column is empty for valid contacts.
Step 3: Identify potential duplicates
Then
Column data is verified
Action: Sort results by Email. Look for duplicate email addresses.
Expected: No duplicate emails in results. Each contact appears once despite appearing in multiple source committees/events.
Step 4: Verify deduplication across sources
And
No duplicate emails detected
Action: Cross-reference results with source data. Verify contacts appearing in multiple committees/events appear only once.
Expected: Deduplication is working. Contacts from multiple sources are merged into single entry.
Warning: Some systems may keep first-match data; verify which version is retained (e.g., most recent company, primary contact type).
Bug Risks
Column visibility may vary. Data may not populate correctly. Deduplication may fail silently. Duplicates from different email variations may not be caught.
Notes & References
Critical for accurate contact list building. Deduplication logic is essential for marketing campaigns.
ABC-3318
TC-2.4
Remove specific contacts, save list with custom name, save as template, export to CSV/Excel
Manual
—
User Workflow
File Export
Preconditions
Contact List results are generated with at least 10+ contacts. Export formats (CSV, Excel) are supported. Template save feature is enabled.
Step 1: Select contacts to remove
Given
Contact List results are displayed
Action: Check checkboxes next to 2-3 specific contacts. Look for "Remove Selected" button.
Expected: Contacts can be selected via checkboxes. "Remove Selected" button becomes enabled when contacts are selected.
Step 2: Remove selected contacts
When
Contacts are selected
Action: Click "Remove Selected" button. Confirm removal if prompted.
Expected: Selected contacts are removed from list. Contact count decreases. Removed rows are no longer visible.
Step 3: Save list with custom name
Then
Contacts have been removed
Action: Click "Save List" button. Enter custom name in dialog, e.g., "2024 Annual Event - North American Sponsors".
Expected: Save dialog appears with name input field. Custom name is accepted and saved.
Step 4: Save list as template
And
List is saved
Action: Look for "Save as Template" checkbox or button in save dialog. Check the option.
Expected: Template save option is available. Template name can be set. Template is saved for future reuse.
Step 5: Export to CSV and Excel
And
List is saved
Action: Click "Export" button. Choose CSV format. File downloads. Repeat for Excel format.
Expected: Both CSV and Excel files download successfully. Files contain all displayed columns and rows (minus removed contacts). Files are not corrupted and can be opened.
Bug Risks
Remove button may not work. Save dialog may not accept custom names. Template save may silently fail. Export formats may be incomplete or corrupted. File encoding issues may occur.
Notes & References
End-to-end workflow test. Verify exports match displayed data. Test with various special characters in list names.
ABC-3318
Flow E2E-3: Browse & Manage Lists
TC-3.1
Verify Browse Contact Lists table: List Name, Status, Last Synced, Contact Count
Hybrid
—
Automated
Smoke Test
Preconditions
User is on "Browse Contact Lists" page. At least 3 saved contact lists exist with varied statuses. Sync history is available for at least some lists.
Step 1: Verify table header columns
Given
Browse Contact Lists page is open
Action: Inspect table header row
Expected: Table columns are visible: "List Name", "Status", "Last Synced", "Contact Count".
Step 2: Verify List Name column
When
Table headers are confirmed
Action: Inspect "List Name" column for all visible rows. Check for correct list names.
Expected: All list names are populated and match expected saved lists. Names are clearly readable.
Step 3: Verify Status and Last Synced columns
Then
List Name data is verified
Action: Check "Status" column for values (Active/Inactive). Check "Last Synced" column for datetime stamps.
Expected: Status shows "Active" or "Inactive". Last Synced shows datetime or "Never" if not yet synced. All rows have data.
Step 4: Verify Contact Count column
And
Status and Last Synced are verified
Action: Check "Contact Count" column for numeric values representing list member counts.
Expected: Contact Count shows numeric values (e.g., 150, 250). All rows have valid counts. Counts are reasonable.
Bug Risks
Columns may be missing or misaligned. Data may not load. Last Synced timestamp may be incorrect. Contact Count may be stale or zero incorrectly.
Notes & References
Core Browse feature. Test with various list states and sync history.
ABC-3319
TC-3.2
Edit List — verify pre-populated selections, modify criteria, regenerate. Verify manual removals NOT preserved.
Manual
—
Critical Behavior
Data Loss
Preconditions
A saved contact list exists with original filter criteria. The list has manual contact removals. The list is not currently in active sync.
Step 1: Open Edit for existing list
Given
Browse Contact Lists page is open
Action: Locate test list. Click "Edit" button or row action menu.
Expected: Edit mode opens for the selected list. Form/builder interface is displayed.
Step 2: Verify pre-populated selections
When
Edit mode is open
Action: Inspect all filter sections (committees, events, contact types). Check which options are selected.
Expected: All original filter selections are pre-populated and checked. No selections have been lost.
Step 3: Modify filter criteria
Then
Original selections are verified
Action: Uncheck one previously selected option. Check a new option. Change a filter value.
Expected: Changes are accepted in the UI. Selections update.
Step 4: Regenerate list
And
Criteria have been modified
Action: Click "Regenerate" or "Save & Regenerate". If warning appears about active list, dismiss it.
Expected: List is regenerated with new criteria. Results update to reflect changes.
Warning: If list is active in Constant Contact, warning may appear. Ensure test list is inactive first.
Step 5: Verify manual removals are NOT preserved
And
List is regenerated
Action: Review regenerated list results. Check if previously manually removed contacts reappear.
Expected: Previously removed contacts reappear in regenerated list (this is expected behavior). Manual removals are NOT preserved across regeneration.
Bug Risks
Pre-populated selections may be lost or incorrect. Modifications may not save. Regeneration may fail silently. Manual removals may incorrectly persist. Active list warning may prevent edits.
Notes & References
Important to verify behavior: manual removals reset on regeneration. This is a deliberate design decision.
ABC-3320
TC-3.3
Load Criteria — verify creates NEW list, original unchanged. Verify template reuse.
Manual
—
Template Reuse
Data Integrity
Preconditions
At least one saved template exists. An original list was used to create the template. Template is accessible from Contact List Builder.
Step 1: Navigate to New Contact List
Given
Contact List Builder is accessible
Action: Go to "Contacts" → "Contact Lists" → "New Contact List"
Expected: Contact List Builder page opens. Template selection area is visible.
Step 2: Load criteria from template
When
Contact List Builder is open
Action: Click "Load Criteria" or "Load Template" option. Select saved template from list.
Expected: Template selection dialog appears. Saved template is available and selectable.
Step 3: Verify template criteria are loaded
Then
Template is selected
Action: Confirm template selection. Inspect all filter sections for loaded criteria.
Expected: Template criteria are populated in builder form. All selections from template appear checked/selected.
Step 4: Generate list from loaded template
And
Criteria are loaded
Action: Click "Generate Results" to create new list from template criteria.
Expected: New list is created with template criteria applied. Results are generated and displayed.
Step 5: Verify original template/list unchanged
And
New list is created
Action: Navigate back to Browse Contact Lists. Find original list. Verify its status, criteria, and contact count are unchanged.
Expected: Original list is unaffected by template loading. New list appears as separate entry in browse table. Both lists coexist independently.
Bug Risks
Template loading may fail. Criteria may not populate correctly. Original list may be overwritten. Template may be deleted when new list is created.
Notes & References
Template reuse enables efficient list management. Critical to verify independence of template and created lists.
ABC-3321
TC-3.4
Activate/deactivate list, delete with confirmation, export CSV/Excel
Manual
—
State Management
Destructive Action
Preconditions
Multiple test lists exist. At least one is inactive and one is active. Lists are not in production use. User has permission to manage lists.
Step 1: Activate inactive list
Given
Browse Contact Lists page is open
Action: Find inactive list. Click "Activate" button or toggle activation control.
Expected: List status changes to "Active". Status column updates. Activation is confirmed.
Step 2: Deactivate active list
When
List is activated
Action: Find an active list. Click "Deactivate" button or toggle activation control.
Expected: List status changes to "Inactive". Status column updates immediately.
Step 3: Delete list with confirmation
Then
List deactivation is verified
Action: Select a list to delete (preferably a non-critical test list). Click "Delete" button.
Expected: Confirmation dialog appears asking for deletion confirmation. Message is clear about consequences.
Step 4: Confirm deletion
And
Confirmation dialog is shown
Action: Click "Confirm Delete" button in dialog.
Expected: List is deleted. Table updates and list no longer appears. Deletion is completed.
Step 5: Export list to CSV and Excel
And
Deletion is confirmed
Action: Select a list. Click "Export" button. Choose CSV format. Repeat for Excel.
Expected: CSV and Excel files download successfully. Files contain list data. Files can be opened and read correctly.
Bug Risks
Activation may not persist. Deactivation may fail silently. Delete confirmation may not appear or work. Export files may be incomplete or corrupted.
Notes & References
Critical management operations. Test with non-critical lists first. Verify deletions cannot be undone.
ABC-3319
Flow E2E-4: Constant Contact Integration
TC-4.1
Configure API Key/Secret, test connection, save configuration
Manual
—
Setup
Credentials
Preconditions
Constant Contact API credentials (API Key and Secret) are available. Integration settings page is accessible. Network connectivity to Constant Contact API is available.
Step 1: Access Integration settings
Given
User has admin or integration setup permissions
Action: Navigate to Settings → Integrations → Constant Contact (or similar path)
Expected: Constant Contact integration configuration page loads. Input fields for API Key and Secret are visible.
Step 2: Enter API Key and Secret
When
Configuration page is open
Action: Click on API Key field. Enter provided API Key value. Click on Secret field. Enter provided API Secret value.
Expected: Both fields accept input. Secret field masks input for security. Fields are populated.
Step 3: Test connection
Then
Credentials are entered
Action: Click "Test Connection" button.
Expected: Test runs and returns success message indicating API connectivity is working. No error messages appear.
Step 4: Save configuration
And
Connection test succeeds
Action: Click "Save Configuration" or "Save Settings" button.
Expected: Configuration is saved. Success message appears. Settings page remains accessible.
Bug Risks
Credentials may not be accepted. Test connection may fail without clear error message. Configuration may not save. Credentials may be visible in logs or error messages.
Notes & References
First step of CC integration. Ensure credentials are valid and API access is enabled. Test in non-production environment first.
ABC-3322
TC-4.2
Verify contact sync — creates/updates CC contacts. Verify "Do Not Email" excluded.
Hybrid
—
Automated
Data Sync
Preconditions
CC integration is configured and tested. An active contact list exists. Some contacts have "Do Not Email" flag set. CC account is accessible for verification.
Step 1: Activate list for CC sync
Given
Contact list and CC integration are ready
Action: Navigate to Browse Contact Lists. Select test list. Click "Activate" to enable CC sync.
Expected: List status changes to "Active". Sync process initiates automatically or appears ready to start.
Step 2: Monitor sync completion
When
List is activated
Action: Check "Last Synced" timestamp. Wait for sync to complete (check CC Sync Logs if available).
Expected: Last Synced timestamp updates to current time. Sync status indicates success.
Step 3: Verify contacts created in CC
Then
Sync completes
Action: Log into Constant Contact account. Search for contacts from synced list. Verify fields: Email, First Name, Last Name.
Expected: Contacts appear in CC account. Email, First Name, Last Name fields are populated correctly.
Step 4: Verify "Do Not Email" contacts excluded
And
Contacts are verified in CC
Action: In ABC system, identify contacts with "Do Not Email" flag set. Search for them in CC account.
Expected: "Do Not Email" contacts are NOT present in CC account. They are excluded from sync as expected.
Warning: Verify "Do Not Email" status in ABC system matches actual flag. Some systems may have different interpretations.
Bug Risks
Contact sync may fail silently. Fields may be mapped incorrectly. "Do Not Email" contacts may still be synced. Duplicate contacts may be created.
Notes & References
Critical integration point. Verify field mapping is correct. Test with various contact types and statuses.
ABC-3323
TC-4.3
Verify list sync — "sync_" prefix, only Active lists, CC List ID stored. Test orphan FK handling.
Manual
—
Data Integrity
Sync Logic
Preconditions
Multiple contact lists exist (active and inactive). CC integration is configured. Database access available for field inspection. CC List IDs can be retrieved.
Step 1: Verify "sync_" prefix on synced lists in CC
Given
Active lists are synced to CC
Action: Log into CC account. View all contact lists. Identify lists synced from ABC system.
Expected: Synced list names have "sync_" prefix in CC (e.g., "sync_2024 Annual Event Members"). Naming convention is consistent.
Step 2: Verify only Active lists are synced
When
Synced lists are identified
Action: In ABC system, find an Inactive list. Check CC account for corresponding synced list.
Expected: Inactive lists do NOT have corresponding "sync_" lists in CC. Only Active lists are synced.
Step 3: Verify CC List ID is stored
Then
Active/Inactive behavior is verified
Action: In ABC database or admin interface, find synced list record. Check for "CC_List_ID" or similar field.
Expected: CC List ID field is populated with actual CC list identifier. ID is non-empty and unique.
Step 4: Test orphan foreign key handling
And
CC List ID is stored
Action: Delete a CC list from Constant Contact account. Re-sync from ABC system or attempt to access orphaned record.
Expected: System handles orphaned CC List ID gracefully. Error message is user-friendly or list is recreated. No system crash.
Bug Risks
"sync_" prefix may not be applied. Inactive lists may still sync. CC List ID may not be stored. Orphaned IDs may cause errors or data loss.
Notes & References
Test list naming and sync logic thoroughly. Verify database referential integrity. Test edge cases for orphaned data.
ABC-3325
ABC-3327
Flow E2E-5: CC Sync Report & Limitations
TC-5.1
Verify sync report: last attempted datetime, last status, last completed, active list counts
Hybrid
—
Automated
Reporting
Preconditions
CC Sync Logs or Sync Report page is accessible. At least one sync has been performed. Active and inactive lists exist.
Step 1: Access Sync Report page
Given
User has access to sync reports
Action: Navigate to "Contacts" → "Contact Lists" → "CC Sync Logs" or Sync Report
Expected: Sync report page loads. Report displays sync history and summary information.
Step 2: Verify last attempted datetime
When
Sync report is open
Action: Locate "Last Attempted" field in report header or summary section.
Expected: "Last Attempted" field shows datetime of most recent sync attempt. Format is readable. Time is recent and accurate.
Step 3: Verify last status and completion
Then
Last Attempted datetime is verified
Action: Check "Last Status" and "Last Completed" fields in report.
Expected: "Last Status" shows success/failure/pending. "Last Completed" shows datetime when last successful sync completed. Both fields are populated.
Step 4: Verify active list counts
And
Status and completion times are verified
Action: Look for section showing "Active Lists" count or summary. Cross-reference with Browse Contact Lists.
Expected: Report shows count of currently active contact lists. Count matches actual number of active lists in system.
Bug Risks
Datetime values may be incorrect or formatted poorly. Status may not reflect actual sync result. Active list count may be stale. Report may not update automatically.
Notes & References
Key reporting interface for sync health monitoring. Verify all fields are current after syncs.
ABC-3324
TC-5.2
Verify sync logs capture successes and failures
Manual
—
Error Handling
Logging
Preconditions
CC Sync Logs page is accessible. Multiple sync attempts have occurred (at least one successful, ideally one failed). Sufficient logging retention exists.
Step 1: Review sync log entries
Given
CC Sync Logs page is open
Action: Inspect log table or list. Look for entries with timestamps, status, and message columns.
Expected: Sync log shows entries with datetime, status (Success/Failure), and descriptive message.
Step 2: Identify successful sync entries
When
Log entries are visible
Action: Filter or look for entries with "Success" status. Check message for details (e.g., "Synced 150 contacts").
Expected: Successful sync entries show clear success status. Message includes relevant details like contact count or lists synced.
Step 3: Identify failed sync entries
Then
Successful entries are found
Action: Filter or look for entries with "Failure" or "Error" status. Check message for error details.
Expected: Failed sync entries clearly show failure status. Error message explains reason for failure. Log includes stack trace if available.
Step 4: Verify log retention and searchability
And
Failure entries are identified
Action: Check if logs can be filtered or searched by date range, status, or list name. Verify older logs are retained.
Expected: Log search/filter functionality is available. Historical logs are retained for audit purposes.
Bug Risks
Log entries may be missing. Status may not be accurate. Error messages may be unclear. Logs may be purged too aggressively. Search/filter may not work.
Notes & References
Critical for debugging sync issues. Ensure logs are comprehensive and maintainable.
ABC-3324
TC-5.3
Verify list limitation awareness — activate/deactivate manages CC count
Manual
—
Capacity Management
State Awareness
Preconditions
Constant Contact account has list limits (e.g., max 125 lists). Multiple contact lists exist. Some lists are active and some inactive.
Step 1: Check CC list count before changes
Given
Browse Contact Lists page is open
Action: Note current number of Active lists. Check sync report or CC account for current list count.
Expected: Current active list count and CC list usage is known.
Step 2: Activate a new list
When
Current state is documented
Action: Select an inactive list and click "Activate". Wait for sync to complete.
Expected: List becomes active. Sync to CC initiates. List is created in CC with "sync_" prefix.
Step 3: Verify CC list count increases
Then
List is activated
Action: Check CC account or sync report. Count number of active synced lists.
Expected: CC list count increases by one. New list appears in CC with expected name and contacts.
Step 4: Deactivate list and verify CC count decreases
And
CC count increase is verified
Action: Deactivate the list from Browse Contact Lists. Wait for sync to process removal.
Expected: List becomes inactive. CC synced list is removed or marked for removal. CC list count decreases by one.
Bug Risks
CC list count may not update. Deactivation may not remove CC list. Multiple lists may be created for single ABC list. Orphaned lists may remain in CC.
Notes & References
Important for managing CC list limits. Verify that activate/deactivate properly manages CC account capacity.
ABC-3324
Flow E2E-6: ME Score Integration
TC-6.1
Navigate to ME Company Report, verify checkboxes and Select All on results
Hybrid
—
Automated
UI Components
Preconditions
User has access to Member Engagement module. ME Company Report is available. Report contains at least 10+ company results.
Step 1: Navigate to ME Company Report
Given
User is logged in with M&C and ME access
Action: Navigate to Member Engagement → Reports → Company Report (or similar path)
Expected: ME Company Report page loads. Report displays list of companies with scores and data.
Step 2: Verify checkboxes on each result row
When
Company Report is open
Action: Inspect result rows. Look for checkboxes in left column of each row.
Expected: Each company row has clickable checkbox. Checkboxes are aligned and easily selectable.
Step 3: Test individual checkbox selection
Then
Checkboxes are present
Action: Click 2-3 checkboxes to select individual companies. Observe selection state.
Expected: Clicked checkboxes are checked visually. Selection count may update at top of table.
Step 4: Verify Select All functionality
And
Individual selections work
Action: Look for "Select All" checkbox in table header. Click it.
Expected: "Select All" checkbox appears in header. Clicking it selects all visible companies. All row checkboxes become checked.
Bug Risks
Checkboxes may not render properly. Individual selection may not work. Select All may only select page instead of all results. Selection state may not persist.
Notes & References
Integration point between ME module and M&C. Verify selection functionality works across pagination if present.
ABC-3373
TC-6.2
Create contact list from ME Report — verify "ME-" prefix, contact type dropdown, Primary Contact fallback
Manual
—
Cross-Module
Data Mapping
Preconditions
ME Company Report is open with results. Multiple companies are selected. M&C module integration is enabled. Companies have primary contacts or contact mapping.
Step 1: Select companies and create contact list
Given
ME Company Report is open
Action: Select multiple companies using checkboxes. Look for "Create Contact List" button or action menu.
Expected: "Create Contact List" button or option appears when companies are selected. Button is enabled.
Step 2: Verify "ME-" prefix on list name
When
Create Contact List dialog opens
Action: Click "Create Contact List". Dialog or form appears with list name field.
Expected: List name field is pre-populated with "ME-" prefix. User can add custom suffix (e.g., "ME-Score-High-Performers").
Step 3: Verify contact type selection dropdown
Then
List name is set
Action: Look for "Contact Type" dropdown in form. Click to see available options.
Expected: "Contact Type" dropdown is present. Options include "Primary Contact", "All Contacts", or similar. Default selection is visible.
Step 4: Test Primary Contact fallback behavior
And
Contact Type dropdown is available
Action: Select "Primary Contact" option. Proceed to create list. Inspect results.
Expected: List is created using Primary Contact from each company. If Primary Contact is missing, fallback occurs (e.g., any contact from company). List contains valid contact data.
Bug Risks
"ME-" prefix may not be applied. Contact Type dropdown may be missing or non-functional. Fallback behavior may cause data loss. List creation may fail silently.
Notes & References
Cross-module integration. Verify "ME-" naming convention is consistent. Test fallback logic with various contact configurations.
ABC-3373
ABC-3374
TC-6.3
Verify ME-created lists are non-editable, show "Created in Member Engagement" indicator, available in M&C and sync to CC
Hybrid
—
Automated
List State
Preconditions
An ME-created contact list (ME- prefix) exists and is saved. List is accessible from M&C Browse Contact Lists. CC integration is configured.
Step 1: Navigate to Browse Contact Lists
Given
ME-created list exists
Action: Go to M&C → Contacts → Contact Lists → Browse Contact Lists
Expected: Browse Contact Lists page opens. ME-created lists are visible in table with "ME-" prefix.
Step 2: Verify "Created in Member Engagement" indicator
When
ME-created list is visible
Action: Locate the ME-created list. Look for indicator or badge showing "Created in Member Engagement".
Expected: ME-created list has indicator/badge/icon showing it was created in ME module. Indicator is clearly visible and understandable.
Step 3: Verify list is non-editable
Then
ME indicator is present
Action: Attempt to click "Edit" button on ME-created list. Try to modify criteria.
Expected: "Edit" button is disabled or not available. If dialog opens, modifications are read-only or blocked. List cannot be edited from M&C.
Step 4: Verify list can be activated and synced to CC
And
Edit is blocked
Action: Attempt to activate ME-created list. Monitor sync completion.
Expected: Activation is allowed. List syncs to CC with "sync_" prefix. CC list is created successfully.
Bug Risks
ME indicator may not display. List may be editable when it shouldn't be. Activation may be blocked. Sync to CC may fail.
Notes & References
Important for maintaining data integrity from ME module. ME-created lists should be read-only but fully functional for sync.
ABC-3373
ABC-3374
Flow E2E-7: SMS / Text Messaging
TC-7.1
Verify Twilio integration setup (provider configuration, credentials)
Manual
—
Configuration
Third-party
Preconditions
Twilio account credentials are available (Account SID, Auth Token, Phone Number). Integration settings page is accessible. System admin or integration setup role is required.
Step 1: Access Twilio configuration page
Given
User has admin/integration setup permissions
Action: Navigate to Settings → Integrations → SMS/Twilio (or similar)
Expected: Twilio integration configuration page loads. Input fields for Account SID, Auth Token, and Phone Number are visible.
Step 2: Enter Twilio credentials
When
Configuration page is open
Action: Enter Twilio Account SID. Enter Auth Token (field should mask input). Enter Twilio Phone Number.
Expected: All three fields accept input. Auth Token field masks text for security. Fields are populated.
Step 3: Test Twilio connection
Then
Credentials are entered
Action: Click "Test Connection" or "Verify Credentials" button.
Expected: Connection test runs. Success message appears confirming Twilio account connectivity.
Step 4: Save Twilio configuration
And
Connection test succeeds
Action: Click "Save Configuration" button.
Expected: Configuration is saved. Success message confirms. Settings page remains accessible for future updates.
Bug Risks
Credentials may not be accepted. Test connection may fail without clear error message. Configuration may not save. Credentials may be exposed in logs.
Notes & References
First step of SMS integration. Ensure Twilio account is active and credentials are correct. Test in non-production first.
ABC-3645
TC-7.2
Verify "do not text" checkbox on individual profile blocks SMS; default opt-in works on new accounts
Manual
—
Compliance
User Preference
Preconditions
Twilio integration is configured. Individual contact profiles are accessible. Test contact with phone number exists. New contact creation capability is available.
Step 1: Open existing contact profile
Given
Contacts are accessible in system
Action: Navigate to Contacts module. Find and open existing contact with phone number.
Expected: Contact profile page opens. Phone number is visible. Additional fields including SMS preferences are shown.
Step 2: Verify "do not text" checkbox
When
Contact profile is open
Action: Scroll to SMS/Messaging section. Look for "Do Not Text" or "Opt Out of SMS" checkbox.
Expected: "Do Not Text" checkbox is present and unchecked (default allows SMS). Checkbox is clearly labeled.
Step 3: Check "do not text" and save
Then
Checkbox is visible
Action: Check the "Do Not Text" checkbox. Save contact profile.
Expected: Checkbox change is saved. Contact is now opted out of SMS. Profile updates successfully.
Step 4: Verify default opt-in on new contact
And
"Do Not Text" is saved
Action: Create new contact with phone number. Check "Do Not Text" checkbox state in form.
Expected: New contact defaults to SMS enabled (unchecked). "Do Not Text" is opt-out, not opt-in. User can opt out during creation if desired.
Bug Risks
"Do Not Text" checkbox may be missing. Default state may be reversed (opt-out instead of opt-in). Changes may not save. Preference may not be respected in SMS sending.
Notes & References
Critical for compliance and user consent. Default should be opt-in (allow SMS) unless regulated otherwise. Test both new and existing contacts.
ABC-3646
TC-7.3
Trigger email event — verify SMS sent alongside email when phone exists and not opted out
Manual
—
Integration
Event Handling
Preconditions
Twilio integration is active. Contact has phone number and has NOT opted out of SMS. Email trigger event is configured with SMS variant. Sending mechanism is available.
Step 1: Select contact and prepare email trigger
Given
Contact has phone number and SMS enabled
Action: Open contact profile. Navigate to email trigger section (e.g., "Send Email" action or event).
Expected: Email trigger interface is available. Contact is selected. Trigger template/message is ready.
Step 2: Trigger email send event
When
Email trigger is prepared
Action: Click "Send" or "Trigger Event" button to send email.
Expected: Email is sent. System processes the trigger. No errors appear.
Step 3: Verify email delivery
Then
Trigger is sent
Action: Check contact's email inbox or system email logs. Confirm email was delivered.
Expected: Email arrives in contact's email address. Email content matches trigger template.
Step 4: Verify SMS sent alongside email
And
Email is delivered
Action: Check contact's SMS/phone for text message. Verify SMS content relates to email trigger.
Expected: SMS is sent to contact's phone number at same time as email. SMS content is appropriate variant of email message. Both email and SMS deliver.
Bug Risks
Email may send but SMS may not. SMS may send instead of email. Both may fail. SMS may send to wrong number. Timing may be different between email and SMS.
Notes & References
Dual-channel messaging. Verify SMS variant message is appropriate for text format. Test with controlled test numbers only.
ABC-3646
ABC-3647
TC-7.4
Verify SMS NOT sent when: no phone number, "do not text" checked, or email trigger doesn't have SMS equivalent
Manual
—
Conditional Logic
Negative Test
Preconditions
Multiple test contacts available: one without phone, one with "do not text" checked, one with valid phone. Email triggers with varying SMS support are available.
Step 1: Trigger email for contact without phone number
Given
Test contact has no phone number
Action: Select contact without phone field or with empty phone field. Trigger email event.
Expected: Email sends normally. No SMS attempted (no phone to send to).
Step 2: Verify no SMS sent when "do not text" is checked
When
Contact without phone is tested
Action: Select contact with phone number and "Do Not Text" checkbox checked. Trigger email event.
Expected: Email sends. SMS is NOT sent (user opted out). No SMS appears in logs or contact phone.
Step 3: Verify no SMS sent for email without SMS variant
Then
"Do Not Text" blocking is verified
Action: Use email trigger that does NOT have SMS variant/configuration. Select contact with phone and SMS enabled.
Expected: Email sends normally. SMS is NOT sent (no SMS variant exists). Only email channel used.
Step 4: Verify SMS sends when all conditions are met
And
All blocking conditions are tested
Action: Select contact WITH phone, NOT opted out, and use email trigger WITH SMS variant. Send.
Expected: Both email AND SMS send successfully. Confirms blocking logic is working correctly (SMS only sent when all conditions allow).
Bug Risks
SMS may send even when no phone number. SMS may send despite "do not text" flag. SMS may always send regardless of variant availability. Conditions may not be evaluated correctly.
Notes & References
Critical for compliance and user respect. Verify all three blocking conditions are honored. Test combinations thoroughly.
ABC-3645
ABC-3646
ABC-3647
Flow E2E-8: Browse Export
TC-8.1
Browse Companies — apply filters, click Export CSV/Excel
Hybrid
—
Automated
File Export
Preconditions
Browse Companies page is accessible. Multiple companies with varied data exist. At least some companies have associated metadata (type, region, etc.) for filtering.
Step 1: Navigate to Browse Companies
Given
User has access to M&C Browse features
Action: Navigate to Contacts module or M&C → Browse Companies
Expected: Browse Companies page loads. Table displays list of companies with columns.
Step 2: Apply company filters
When
Browse Companies page is open
Action: Use filter options available (company type, region, status, etc.). Apply 2-3 filters to narrow results.
Expected: Company list filters to show only matching results. Filter controls are responsive. Display updates immediately.
Step 3: Locate and click Export button
Then
Filters are applied
Action: Look for "Export" button on page. Button should respect current filters. Click "Export".
Expected: Export button is visible and clickable. Clicking opens export options or initiates download.
Step 4: Export to CSV and Excel formats
And
Export initiated
Action: If format choice available, select CSV. Download file. Repeat for Excel format.
Expected: Both CSV and Excel files download successfully. Files contain filtered company data. Files are not corrupted.
Bug Risks
Export button may be missing. Export may ignore filters. Files may be empty or incomplete. Format selection may fail. Export may timeout with large data sets.
Notes & References
Export functionality critical for data extraction. Verify exported data matches displayed filtered results. Test with various filter combinations.
ABC-3328
TC-8.2
Verify Browse Companies export contains all displayed columns and respects current filters
Hybrid
—
Automated
Data Accuracy
Preconditions
Browse Companies export has been completed. CSV/Excel files are downloaded. Filters were applied before export.
Step 1: Compare table columns with export columns
Given
Export file is downloaded
Action: Open exported CSV/Excel file. Compare header row with columns visible in Browse Companies table.
Expected: All displayed columns appear in export (e.g., Company Name, Type, Region, Contact, etc.). Column order matches or is logical. No columns missing.
Step 2: Verify row count matches filtered results
When
Export file is open
Action: Count rows in export file (excluding header). Compare with company count displayed on Browse page.
Expected: Export row count matches filtered result count from Browse page. No rows are added or missing.
Step 3: Verify export respects applied filters
Then
Row count matches
Action: Sample data from export. Verify all companies match filter criteria applied before export.
Expected: All exported companies match applied filters (e.g., all are correct type/region). No companies outside filter range present.
Step 4: Verify data integrity in export
And
Filters are respected
Action: Check for data corruption: special characters, encoding issues, truncated text, formula errors (in Excel).
Expected: All data is intact and readable. No corruption or special character issues. Text not truncated. Excel formulas (if any) work correctly.
Bug Risks
Export columns may not match display. Unfiltered data may be exported. Row count may be incorrect. Data may be corrupted during export. Special characters may cause issues.
Notes & References
Critical validation of export quality. Verify exports match user expectations. Test with various filter combinations and data volumes.
ABC-3328
TC-8.3
Browse Individuals — apply filters, click Export CSV/Excel
Hybrid
—
Automated
File Export
Preconditions
Browse Individuals page is accessible. Multiple individual contacts exist with varied data. Filter options (name, company, status, etc.) are available.
Step 1: Navigate to Browse Individuals
Given
User has access to Browse features
Action: Navigate to Contacts → Browse Individuals or similar path
Expected: Browse Individuals page loads. Table displays list of individuals with columns.
Step 2: Apply individual filters
When
Browse Individuals page is open
Action: Use filter options (name search, company, title, status, etc.). Apply 2-3 filters.
Expected: Individual list filters to match criteria. Results update immediately. Filter controls work responsively.
Step 3: Click Export button
Then
Filters are applied
Action: Locate "Export" button. Click to initiate export of filtered individuals.
Expected: Export button is visible and clickable. Export process starts or format dialog appears.
Step 4: Export to CSV and Excel
And
Export initiated
Action: Select CSV format and download. Repeat for Excel format.
Expected: Both formats download successfully. Files contain filtered individual contacts. No data loss or corruption.
Bug Risks
Export may not include all filtered individuals. Pagination may cause incomplete export. File format may corrupt data. Export may be slow or timeout.
Notes & References
Individual contact export functionality. Verify exports include all filtered records across all pages if pagination exists.
ABC-3329
TC-8.4
Verify Browse Individuals export contains all displayed columns and respects current filters
Hybrid
—
Automated
Data Accuracy
Preconditions
Browse Individuals export has been completed. CSV/Excel files downloaded. Filters were applied before export.
Step 1: Compare table and export columns
Given
Individuals export file is downloaded
Action: Open exported file. Compare header columns with Browse Individuals table columns.
Expected: Export includes all displayed columns (e.g., First Name, Last Name, Email, Company, Title, etc.). Column order is consistent.
Step 2: Verify complete data export
When
Export file is open
Action: Count individuals in export. Compare with filtered result count from Browse page.
Expected: Export includes all filtered individuals. Row count matches page count. All pages of results included if pagination exists.
Step 3: Verify filters respected in export
Then
Row count is verified
Action: Sample exported individuals. Verify they all match applied filter criteria.
Expected: All exported individuals match applied filters. No unfiltered records present. Filter logic correctly applied to export.
Step 4: Check data integrity
And
Filters are verified
Action: Inspect exported data for issues: missing values, truncation, special character corruption, formula errors.
Expected: All data is intact and properly formatted. Email addresses valid. Phone numbers untruncated. Text fields complete. No corruption.
Bug Risks
Export columns may mismatch display. Pagination may result in partial export. Unfiltered data may leak into export. Data encoding may corrupt special characters.
Notes & References
Final export validation. Ensure individual exports are complete and accurate. Test across various filter combinations and data sizes.
ABC-3329